using System.Collections.ObjectModel;
using CharacterCreation.Data.Models;
using CharacterCreation.Data.Services;
using Microsoft.Practices.Prism.ViewModel;
using System.Windows.Input;
using Microsoft.Practices.Prism.Commands;
using CharacterCreation.Views.ChildWindows;
using CharacterCreation.Views.Contracts;

namespace CharacterCreation.Views {
    /// <summary>
    /// The characters view model
    /// </summary>
    public partial class CharacterListViewModel : NotificationObject {

        private CharacterService _characterService = (CharacterService)CharacterService.CreateInstance();
        
        /// <summary>
        /// Gets or sets the Characters
        /// </summary>
        public ObservableCollection<Character> Characters {
            get { return _characterService.Items; }
        }

        /// <summary>
        /// Gets or sets the CurrentCharacter
        /// </summary>
        public Character CurrentCharacter {
            get { return _characterService.CurrentItem; }
            set { _characterService.CurrentItem = value; }
        }

        /// <summary>
        /// Constructor
        /// </summary>
        public CharacterListViewModel() { }
    }
}